
switch (foo) {
  case NaN:
    bar();
    break;
  case 1:
    baz();
    break;
  // ...
}

switch (NaN) {
  case a:
    bar();
    break;
  case b:
    baz();
    break;
  // ...
}

switch (foo) {
  case Number.NaN:
    bar();
    break;
  case 1:
    baz();
    break;
  // ...
}

switch (Number.NaN) {
  case a:
    bar();
    break;
  case b:
    baz();
    break;
  // ...
}

switch(NaN) {}

switch(NaN) { case foo: break; }

switch(NaN) { default: break; }

switch(NaN) { case foo: break; default: break; }

switch(foo) { case NaN: }

switch(foo) { case NaN: break; }

switch(foo) { case (NaN): break; }

switch(foo) { case bar: break; case NaN: break; default: break; }

switch(foo) { case bar: case NaN: default: break; }

switch(foo) { case bar: break; case NaN: break; case baz: break; case NaN: break; }

switch(NaN) { case NaN: break; }

switch(Number.NaN) {}

switch(Number.NaN) { case foo: break; }

switch(Number.NaN) { default: break; }

switch(Number.NaN) { case foo: break; default: break; }

switch(foo) { case Number.NaN: }

switch(foo) { case Number.NaN: break; }

switch(foo) { case (Number.NaN): break; }

switch(foo) { case bar: break; case Number.NaN: break; default: break; }

switch(foo) { case bar: case Number.NaN: default: break; }

switch(foo) { case bar: break; case NaN: break; case baz: break; case Number.NaN: break; }

switch(Number.NaN) { case Number.NaN: break; }